package com.cskaoyan.javase.io._1byte._4buffer;

import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.IOException;

/**
 * BufferedInputStream缓冲字节输入流
 *
 * @since 17:42
 * @author wuguidong@cskaoyan.onaliyun.com
 */
public class Demo2 {
    public static void main(String[] args) throws IOException {
        // BufferedInputStream(InputStream in)	创建一个 BufferedInputStream 并保存其参数，即输入流  in，以便将来使用。默认是8KB
        BufferedInputStream bufferIn = new BufferedInputStream(new FileInputStream("a.txt"));
        // 2.read方法读
        // abstract  read()	int	从输入流中读取数据的下一个字节的数据。
        // read(byte[] b)	int	从输入流中读取b.length个的字节数据，并将其存储在数组b中，注意是从数组的头开始进行存储。
        // read(byte[] b,  int off, int len)	int	从输入流中读取len个字节数据，然后从下标off开始存入b数组。
        // System.out.println(((char) bufferIn.read()));
        byte[] buf = new byte[5];
        int readCount;
        while ((readCount = bufferIn.read(buf)) != -1) {
            System.out.println(new String(buf, 0, readCount));
        }
        // 3.close关闭流
        bufferIn.close();

    }
}
